package cn.fl.npspl.transform;

import cn.cmm.base.framework.utils.CollectionUtils;
import cn.fl.npspl.vo.SplNpSocialRlVO;
import fl.spl.facade.npspl.dto.SplNpSocialRlDTO;

import java.util.ArrayList;
import java.util.List;


/**
 * @Description: 自然人经销商社会关系表 转换器
 * @Description: VO是客户端传递数据到服务端进行转换的数据
 * @Description: VO转换数据变成DTO传递到服务端
 * @Description: VO不能在服务端出现
 */
public class SplNpSocialRlVOTransform {


    /**
     * DTO 转  VO
     *
     * @param dto SplNpSocialRlDTO
     * @return SplNpSocialRlVO
     */
    public static SplNpSocialRlVO toVO(SplNpSocialRlDTO dto) {
        SplNpSocialRlVO vo = null;
        if (dto != null) {
            vo = new SplNpSocialRlVO();
            vo.setId(dto.getId());
            vo.setCstId(dto.getCstId());//客户ID
            vo.setRlNm(dto.getRlNm());//关系人姓名
            vo.setCertTypCd(dto.getCertTypCd());//证件类型
            vo.setCertNo(dto.getCertNo());//证件号
            vo.setRlTypCd(dto.getRlTypCd());//客户关系(CST0009)
            vo.setGenderCd(dto.getGenderCd());//性别
            vo.setMp(dto.getMp());//手机号
            vo.setTel(dto.getTel());//固定电话
            vo.setWorkPlc(dto.getWorkPlc());//工作单位名称
            vo.setPos(dto.getPos());//职位
            vo.setIdAddr(dto.getIdAddr());//户籍地址(身份证地址)
            vo.setHomeAddr(dto.getHomeAddr());//家庭住址
            vo.setPostAddr(dto.getPostAddr());//通讯地址
            vo.setWorkAddr(dto.getWorkAddr());//工作地址
            vo.setBirthday(dto.getBirthday());//出生日期
            vo.setRlRem(dto.getRlRem());//备注
            vo.setZipNo(dto.getZipNo());//通讯地址邮编
            vo.setBuOrgCd(dto.getBuOrgCd());//事业部CODE
            vo.setOrgCd(dto.getOrgCd());//组织架构CODE
            vo.setIsDel(dto.getIsDel());//是否删除
            vo.setIsValid(dto.getIsValid());//是否有效

            vo.setCrtTm(dto.getCrtTm());//创建时间
            vo.setCrtUsrId(dto.getCrtUsrId());//创建人
            vo.setMdfTm(dto.getMdfTm());//修改时间
            vo.setMdfUsrId(dto.getMdfUsrId());//修改人
            
            vo.setPyPerVerify(dto.getPyPerVerify());// 鹏元三要素校验(SPL0041)
            vo.setTdPerVerify(dto.getTdPerVerify());// 同盾三要素校验(SPL0041)
            vo.setBrPerVerify(dto.getBrPerVerify());// 百融三要素校验(SPL0041)
        }
        return vo;
    }

    /**
     * VO 转 DTO
     *
     * @param vo SplNpSocialRlVO
     * @return SplNpSocialRlDTO
     */
    public static SplNpSocialRlDTO toDTO(SplNpSocialRlVO vo) {
        SplNpSocialRlDTO dto = null;
        if (vo != null) {
            dto = new SplNpSocialRlDTO();
            dto.setId(vo.getId());
            dto.setCstId(vo.getCstId());//客户ID
            dto.setRlNm(vo.getRlNm());//关系人姓名
            dto.setCertTypCd(vo.getCertTypCd());//证件类型
            dto.setCertNo(vo.getCertNo());//证件号
            dto.setRlTypCd(vo.getRlTypCd());//客户关系(CST0009)
            dto.setGenderCd(vo.getGenderCd());//性别
            dto.setMp(vo.getMp());//手机号
            dto.setTel(vo.getTel());//固定电话
            dto.setWorkPlc(vo.getWorkPlc());//工作单位名称
            dto.setPos(vo.getPos());//职位
            dto.setIdAddr(vo.getIdAddr());//户籍地址(身份证地址)
            dto.setHomeAddr(vo.getHomeAddr());//家庭住址
            dto.setPostAddr(vo.getPostAddr());//通讯地址
            dto.setWorkAddr(vo.getWorkAddr());//工作地址
            dto.setBirthday(vo.getBirthday());//出生日期
            dto.setRlRem(vo.getRlRem());//备注
            dto.setZipNo(vo.getZipNo());//通讯地址邮编
            dto.setBuOrgCd(vo.getBuOrgCd());//事业部CODE
            dto.setOrgCd(vo.getOrgCd());//组织架构CODE
            dto.setIsDel(vo.getIsDel());//是否删除
            dto.setIsValid(vo.getIsValid());//是否有效

            dto.setCrtTm(vo.getCrtTm());//创建时间
            dto.setCrtUsrId(vo.getCrtUsrId());//创建人
            dto.setMdfTm(vo.getMdfTm());//修改时间
            dto.setMdfUsrId(vo.getMdfUsrId());//修改人
            
            dto.setPyPerVerify(vo.getPyPerVerify());// 鹏元三要素校验(SPL0041)
            dto.setTdPerVerify(vo.getTdPerVerify());// 同盾三要素校验(SPL0041)
            dto.setBrPerVerify(vo.getBrPerVerify());// 百融三要素校验(SPL0041)
        }
        return dto;
    }

    /**
     * DTO集合 转 VO集合
     *
     * @param list List<SplNpSocialRlDTO>
     * @return List<SplNpSocialRlVO>
     */
    public static List<SplNpSocialRlVO> toVOList(List<SplNpSocialRlDTO> list) {
        List<SplNpSocialRlVO> voList = new ArrayList<SplNpSocialRlVO>();
        if (CollectionUtils.isNotEmpty(list)) {
            for (SplNpSocialRlDTO dto : list) {
                voList.add(toVO(dto));
            }
        }
        return voList;
    }

    /**
     * VO集合 转 DTO集合
     *
     * @param list List<SplNpSocialRlVO>
     * @return List<SplNpSocialRlDTO>
     */
    public static List<SplNpSocialRlDTO> toDTOList(List<SplNpSocialRlVO> list) {
        List<SplNpSocialRlDTO> dtoList = new ArrayList<SplNpSocialRlDTO>();
        if (CollectionUtils.isNotEmpty(list)) {
            for (SplNpSocialRlVO vo : list) {
                dtoList.add(toDTO(vo));
            }
        }
        return dtoList;
    }
}
